Data terminals in a multimedia-capable network typically comprise an application portion, used for requesting, receiving or providing a multimedia service, and a middleware portion forming a content-transparent and network-aware software process for interfacing between the application and the network. The nature of the terminals may range from set-top boxes to personal computers to file servers, while the multimedia services may include the delivery of motion pictures (movies), audio-visual teleconferencing services and live television broadcasts.
Recently, the telecommunications art has seen the introduction of streamed multimedia services that involve transmitting the content associated with a multimedia service as a multiplicity of data streams. The received streams are combined by the application at the receiving end to reproduce the original multimedia content as a whole. The viewing quality of a particular multimedia service is generally proportional to the relative number and quality of service (QoS) of individual multimedia streams successfully recombined by the receiving application.
Since it is desirable to offer multimedia services to as many terminals as possible, it is thus most useful to deliver the associated multimedia streams across a homogeneous, ubiquitous network, such as the public switched telephone network (PSTN) or the Internet. However, such networks possess inherent limitations having regard to bandwidth, transmission delay or both, which impacts negatively on the perceived viewing quality of the multimedia service. For example, in the case of a bandwidth restriction, it is simply not possible to deliver more than a limited number of streams at a specified bandwidth for each stream, consequently limiting the achievable viewing quality. On the other hand, transmittal of many streams through a network with a large delay may result in only a few of the streams actually being delivered within an acceptable amount of time, again adversely affecting the viewing quality.
One way of improving the viewing quality of a particular streamed multimedia service is to use connection resources from another network to which the receiving terminal has access, thereby using the additional network resources either to transmit complementary multimedia streams or to improve the QoS of certain ones of the original multimedia streams, e.g., high-priority streams having high QoS requirements. However, while each terminal is connected to the homogeneous network (thereby allowing the provision of a basic viewing quality for a particular multimedia service), it is to be appreciated that not all terminals will be connected to additional networks and therefore not all terminals will have the capability of enhancing the viewing quality of the streamed multimedia service in question.
Therefore, it is desirable to design a middleware for use by data terminals permitting the initial delivery of a basic number of multimedia streams over a homogeneous network as well as the subsequent transfer of certain ones of these streams upon request over an additional network, if the terminals are indeed connected to the additional network. It is also desirable to allow, in certain instances, the transmission of complementary multimedia streams using the additional network resources.
It is not difficult to find references to prior art solutions which tackle the first point, albeit in isolation. For example, ISO/IEC standard 14496-6, entitled “Delivery Multimedia Integration Framework” (DMIF) and hereby incorporated by reference herein, defines a terminal middleware which “allows applications to transparently access and view multimedia streams whether the source of the stream is located on an interactive remote end-system, the stream is available on broadcast media or it is stored on media.”
Moreover, ISO-IEC standard 13818-6, entitled “Digital Storage Media Command and Control” (DSM-CC) and hereby incorporated by reference herein, defines a middleware which allows the use of heterogeneous network configurations. That is to say, “DSM-CC relies on end-to-end significant association tags to preserve the thread of continuity of a stream across networks of different transport technologies,” as quoted from ISO/IEC JTC1/SC29/WG11 submission N1691 in section 2.6, which submission is hereby incorporated by reference herein.
In DSM-CC, a “session” is begun by setting up the delivery of one or more multimedia streams between the middlewares in corresponding terminals over a network with the involvement of a set of network functions and resources collectively known as the session and resource manager (SRM). The SRM can also be used to set up the delivery of additional multimedia streams between the terminals over the same network or over additional networks. The SRM is also used for billing and for logging data related to network resource usage.
While DSM-CC appears to provide the second desirable feature described above, involving additional network resources, it does not actually allow a session already begun over a homogeneous network to remain intact while transferring certain ones of the initial set of multimedia streams over to the additional network resources. Similarly, given the establishment of a session between terminals across a homogeneous network, a request for supplementary multimedia streams by a target application (connected to additional network resources) will be rejected by a prior art SRM and an improvement in viewing quality is possible if and only if the initial session is struck down and an entirely new session is begun with the aid of the SRM.
Clearly, this problem constricts ubiquity, as it would in fact be desirable to provide the ability to set up a number of initial multimedia streams over a homogeneous network (without the aid of an SRM), and to subsequently upgrade the viewing quality of the streamed multimedia service by providing the delivery of supplementary streams across (or transferring a subset of the initial streams over to) additional network resources by invoking an SRM or, more generally, a network middleware.